Для проверки этого примера, так как у меня один адрес LANA (одна сетевая карта, один протокол NetBEUI) я поменял адрес LANA.
Для получения списка номеров LANA есть команда NCBENUM. При вызове этой команды в параметр NCB.ncb_buffer необходимо передать структуру LANA_ENUM. Вот как она выглядит.
typedef struct _LANA_ENUM { UCHAR length; UCHAR lana[MAX_LANA]; } LANA_ENUM;Объявим её в программе.
LANA_ENUM lan_num;Передадим параметры.
ncb.ncb_command = NCBENUM; ncb.ncb_buffer = (unsigned char *) &lan_num; ncb.ncb_length = sizeof(lan_num);Выполнить команду NetBios.
uRetCode = Netbios((NCB*) &ncb;Проверить код возврата.
if (uRetCode != 0) { cout << "error NCBENUM " << endl; exit(1); }Перечислить все LANA номера
for (int x=0;x < lan_num.length; x++) { printf( "The LANA Number is: %03u",lan_num.lana[x]); cout << endl; }Собирайте и запускайте проект. В результате работы на экране Вы увидите число 123.
Конмадна NCBENUM позволяет получить список чисел LANA.